home *** CD-ROM | disk | FTP | other *** search
/ Aminet 33 / Aminet 33 - October 1999.iso / Aminet / dev / cross / ava-0.2.5.lha / ava-0.2.5 / avalib / avr / 4433def.inc < prev    next >
Encoding:
Text File  |  1999-03-23  |  5.8 KB  |  289 lines

  1. ;***************************************************************************
  2. ;* A P P L I C A T I O N   N O T E   F O R   T H E   A V R   F A M I L Y
  3. ;* 
  4. ;* Number        :AVR000
  5. ;* File Name        :"4433def.inc"
  6. ;* Title        :Register/Bit Definitions for the AT90S4433
  7. ;* Date                 :98.11.25
  8. ;* Version              :1.23
  9. ;* Target MCU        :AT90S4433
  10. ;*
  11. ;* DESCRIPTION
  12. ;* When including this file in the assembly program file, all I/O register    
  13. ;* names and I/O register bit names appearing in the data book can be used.
  14. ;* In addition, the six registers forming the three data pointers X, Y and
  15. ;* Z have been assigned names XL - ZH. Highest RAM address for Internal 
  16. ;* SRAM is also defined 
  17. ;*
  18. ;* The Register names are represented by their hexadecimal address.
  19. ;* 
  20. ;* The Register Bit names are represented by their bit number (0-7).
  21. ;* 
  22. ;* Please observe the difference in using the bit names with instructions
  23. ;* such as "sbr"/"cbr" (set/clear bit in register) and "sbrs"/"sbrc" 
  24. ;* (skip if bit in register set/cleared). The following example illustrates
  25. ;* this:
  26. ;* 
  27. ;* in    r16,PORTB        ;read PORTB latch
  28. ;* sbr    r16,(1<<PB6)+(1<<PB5)    ;set PB6 and PB5 (use masks, not bit#)
  29. ;* out  PORTB,r16        ;output to PORTB
  30. ;*
  31. ;* in    r16,TIFR        ;read the Timer Interrupt Flag Register
  32. ;* sbrc    r16,TOV0        ;test the overflow flag (use bit#)
  33. ;* rjmp    TOV0_is_set        ;jump if set
  34. ;* ...                ;otherwise do something else
  35.  
  36. ;***** I/O Register Definitions
  37. #define    SREG     $3f
  38. #define    SP     $3d
  39. #define    SPL     $3d
  40. #define    GIMSK     $3b
  41. #define    GIFR     $3a
  42. #define    TIMSK     $39
  43. #define    TIFR     $38
  44. #define MCUCR    $35
  45. #define MCUSR    $34
  46. #define    TCCR0     $33
  47. #define    TCNT0     $32
  48. #define    TCCR1A     $2f
  49. #define    TCCR1B     $2e
  50. #define    TCNT1H     $2d
  51. #define    TCNT1L     $2c
  52. #define    OCR1H     $2b
  53. #define    OCR1L     $2a
  54. #define    ICR1H     $27
  55. #define    ICR1L     $26
  56. #define    WDTCR     $21
  57. #define    EEAR     $1e
  58. #define    EEDR     $1d
  59. #define    EECR     $1c
  60. #define    PORTB     $18
  61. #define    DDRB     $17
  62. #define    PINB     $16
  63. #define    PORTC     $15
  64. #define    DDRC     $14
  65. #define    PINC     $13
  66. #define    PORTD     $12
  67. #define    DDRD     $11
  68. #define    PIND     $10
  69. #define    SPDR     $0f
  70. #define    SPSR     $0e
  71. #define    SPCR     $0d
  72. #define    UDR     $0c
  73. #define    USR     $0b
  74. #define    UCR     $0a
  75. #define    UBRR     $09
  76. #define    UBRRL     $09
  77. #define    ACSR     $08
  78. #define ADMUX    $07
  79. #define ADCSR    $06
  80. #define ADCH     $05
  81. #define ADCL     $04
  82. #define    UBRRH     $03
  83.  
  84.  
  85. ;***** Bit Definitions
  86.  
  87. #define    WDRF     3
  88. #define    BORF     2
  89. #define    EXTRF     1
  90. #define    PORF     0
  91.  
  92. #define    INT1     7
  93. #define    INT0     6
  94.  
  95. #define    INTF1     7
  96. #define    INTF0     6
  97.  
  98.  
  99. #define    TOIE1    7
  100. #define    OCIE1    6
  101. #define    TICIE1   3
  102. #define    TOIE0    1
  103.  
  104. #define    TOV1     7
  105. #define    OCF1     6
  106. #define    ICF1     3
  107. #define    TOV0     1
  108.  
  109. #define    SE       5
  110. #define    SM       4
  111. #define    ISC11    3
  112. #define    ISC10    2
  113. #define    ISC01    1
  114. #define    ISC00    0
  115.  
  116. #define    CS02     2
  117. #define    CS01     1
  118. #define    CS00     0
  119.  
  120. #define    COM11     7
  121. #define    COM10     6
  122. #define    PWM11     1
  123. #define    PWM10     0
  124.  
  125. #define    ICNC1     7
  126. #define    ICES1     6
  127. #define    CTC1     3
  128. #define    CS12     2
  129. #define    CS11     1
  130. #define    CS10     0
  131.  
  132. #define    WDTOE     4
  133. #define    WDE     3
  134. #define    WDP2     2
  135. #define    WDP1     1
  136. #define    WDP0     0
  137.  
  138. #define    EERIE    3
  139. #define    EEMWE     2
  140. #define    EEWE     1
  141. #define    EERE     0
  142.  
  143. #define    SPIE     7
  144. #define    SPE     6
  145. #define    DORD     5
  146. #define    MSTR     4
  147. #define    CPOL     3
  148. #define    CPHA     2
  149. #define    SPR1     1
  150. #define    SPR0     0
  151.  
  152. #define    SPIF     7
  153. #define    WCOL     6
  154.  
  155. #define    RXC     7
  156. #define    TXC     6
  157. #define    UDRE     5
  158. #define    FE     4
  159. #define    OR     3
  160. #define    MPCM     0
  161.  
  162. #define    RXCIE     7
  163. #define    TXCIE     6
  164. #define    UDRIE     5
  165. #define    RXEN     4
  166. #define    TXEN     3
  167. #define    CHR9     2
  168. #define    RXB8     1
  169. #define    TXB8     0
  170.  
  171. #define    ACD     7
  172. #define    AINBG      6
  173. #define    ACO     5
  174. #define    ACI     4
  175. #define    ACIE     3
  176. #define    ACIC     2
  177. #define    ACIS1     1
  178. #define    ACIS0     0
  179.  
  180. #define    ADCBG     6
  181. #define    MUX2     2
  182. #define    MUX1     1
  183. #define    MUX0     0
  184.  
  185. #define    ADEN     7
  186. #define    ADSC     6
  187. #define    ADFR     5
  188. #define    ADIF     4
  189. #define    ADIE     3
  190. #define    ADPS2    2
  191. #define    ADPS1    1
  192. #define    ADPS0    0
  193.  
  194. #define    PB5     5
  195. #define    PB4     4
  196. #define    PB3     3
  197. #define    PB2     2
  198. #define    PB1     1
  199. #define    PB0     0
  200.  
  201. #define    DDB5     5
  202. #define    DDB4     4
  203. #define    DDB3     3
  204. #define    DDB2     2
  205. #define    DDB1     1
  206. #define    DDB0     0
  207.  
  208. #define    PINB5     5
  209. #define    PINB4     4
  210. #define    PINB3     3
  211. #define    PINB2     2
  212. #define    PINB1     1
  213. #define    PINB0     0
  214.  
  215. #define    PC5     5
  216. #define    PC4     4
  217. #define    PC3     3
  218. #define    PC2     2
  219. #define    PC1     1
  220. #define    PC0     0
  221.  
  222. #define    DDC5     5
  223. #define    DDC4     4
  224. #define    DDC3     3
  225. #define    DDC2     2
  226. #define    DDC1     1
  227. #define    DDC0     0
  228.  
  229. #define    PINC5     5
  230. #define    PINC4     4
  231. #define    PINC3     3
  232. #define    PINC2     2
  233. #define    PINC1     1
  234. #define    PINC0     0
  235.  
  236. #define    PD7     7
  237. #define    PD6     6
  238. #define    PD5     5
  239. #define    PD4     4
  240. #define    PD3     3
  241. #define    PD2     2
  242. #define    PD1     1
  243. #define    PD0     0
  244.  
  245. #define    DDD7     7
  246. #define    DDD6     6
  247. #define    DDD5     5
  248. #define    DDD4     4
  249. #define    DDD3     3
  250. #define    DDD2     2
  251. #define    DDD1     1
  252. #define    DDD0     0
  253.  
  254. #define    PIND7     7
  255. #define    PIND6     6
  256. #define    PIND5     5
  257. #define    PIND4     4
  258. #define    PIND3     3
  259. #define    PIND2     2
  260. #define    PIND1     1
  261. #define    PIND0     0
  262.  
  263.  
  264. #define    XL     r26
  265. #define    XH     r27
  266. #define    YL     r28
  267. #define    YH     r29
  268. #define    ZL     r30
  269. #define    ZH     r31
  270.  
  271. #define     RAMEND   $DF    ;Last On-Chip SRAM Location
  272. #define    XRAMEND  $DF
  273. #define    E2END     $7F
  274. #define    FLASHEND $7FF
  275.  
  276. #define    INT0addr $001    ;External Interrupt0 Vector Address
  277. #define    INT1addr $002    ;External Interrupt1 Vector Address
  278. #define    ICP1addr $003    ;Input Capture1 Interrupt Vector Address
  279. #define    OC1Aaddr $004    ;Output Compare1A Interrupt Vector Address
  280. #define    OVF1addr $005    ;Overflow1 Interrupt Vector Address
  281. #define    OVF0addr $006    ;Overflow0 Interrupt Vector Address
  282. #define    SPIaddr  $007    ;SPI Interrupt Vector Address
  283. #define    URXCaddr $008    ;UART Receive Complete Interrupt Vector Address
  284. #define    UDREaddr $009    ;UART Data Register Empty Interrupt Vector Address
  285. #define    UTXCaddr $00a    ;UART Transmit Complete Interrupt Vector Address
  286. #define    ADCCaddr  $00b    ;ADC Interrupt Vector Address
  287. #define    ERDYaddr  $00c    ;EEPROM Interrupt Vector Address
  288. #define    ACIaddr   $00d    ;Analog Comparator Interrupt Vector Address
  289.